-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop hsa prefix from include directories so users can #include <hsa/*> #112
base: master
Are you sure you want to change the base?
Conversation
@skeelyamd does this repo accept PRs? |
It does and this PR is being considered, apologies for the silence. Ultimately the path to include is not up to me though. Another team must approve packaging, include, and directory layout changes. We've been trying to get to a flat include directory structure so that the packages can be configured for distro standard install paths more easily for a while. That process halted part way through to let other components start to use cmake targets. HIP should be using cmake targets at this point though they may not be using them completely correctly. Using the target is required for static builds and HIP does support this now. It seems it's time to resume this process. There seems to be conflicting best practices on how a cmake project's include paths should be reported. Most that I've seen do not require a project specific path prefix as you suggest here. But there are notable exceptions. Is there a reference supporting this patch that should be considered? Changing the prefix breaks backward compatibility with existing code so is not something that we should do lightly. |
I think this is a good decision; among other things not all package managers support flat directory structures either (e.g. spack).
https://cliutils.gitlab.io/modern-cmake/chapters/basics/structure.html is quite nice
True, but there's many instances where scripts use their own find logic to detect hsa.h, and they use different includes. From
these try to find hsa.h themselves and do not use the target. Some use this target
and in terms of includes of
|
Any progress on this? |
It should really be preferred to use
over
and it seems downstream packages such as HIP are simply not using the
hsa-runtime64::hsa-runtime64
target because it does not include thehsa/
prefix (?)